<script>
<?php $this->placeholder('onReady')->captureStart() ?>
	$("#<?php echo $this->id_tablesorter?>").tablesorter({sortList: [[10,1]]} ); 
    


     $('#enviando').hide();


    
     $("input[name=k_aplicado]").change(function (){
        numeric(this)
        var k_aplicado=this.value;
        var arr = $('.k_aplicado');
        arr.each(function(index, item) {
            item.value=k_aplicado
            calc_k(item)
        });
        suma()
     })
     
     
     $("input[name=precio_aplicado]").change(function (){
        numeric(this)
        var precio_aplicado=this.value;
        var arr = $('.precio_aplicado');
        arr.each(function(index, item) {
            item.value=precio_aplicado
            calc_precio(item)
        });
        suma()
     })
     
    
    $(".precio_aplicado").change(function (){
      calc_precio(this)
      suma()
    })
     
     
    $('input').attr('size',4);
    $('.tarifa_plana').attr('size',8);
     
    $(".k_aplicado").change(function (){
        calc_k(this)
        suma()
	})
    
    $(".k_facturacion").change(function (){
        numeric(this)
	})
    
    
    
    
    $('#imputar').click(function() {
       
        if(check()){
            alert('Tiene que rellenar todos los valores');
        }else{
            
            $('#imputar').hide();
            $('#enviando').show();
            $('#todo_abajo').hide();
            
            
           //console.log($('#form_imputar').serializeArray())
            var data= $('#form_imputar').serialize();
            $.post('/generar-informe-proyecto/imputa/idZona/<?=$this->idZona?>/mes/<?=$this->mes_imputacion?>/anio/<?=$this->anio_imputacion?>', data,function(data){
               
               if(data.status=='ok'){
                
                    location.reload();
                    
               }else if(data.status=='ko')
               {
                    $('#dialog').html(data.msg).dialog('open');
                    $('#imputar').show();
                    $('#enviando').hide();
               }else{
                    $('#dialog').html(data).dialog('open');
                    $('#imputar').show();
                    $('#enviando').hide();
               }
     
     
            },'json');
        
        }
    }).button();
    
    
   $('#borrar_imputacion').click(function() {
    
        $.post('/generar-informe-proyecto/borrar/idZona/<?=$this->idZona?>/mes/<?=$this->mes_imputacion?>/anio/<?=$this->anio_imputacion?>',function(data){
           if(data.status=='ok'){
               location.reload();
           }else{
               $('#dialog').html(data).dialog('open');
           }
        });
    }).button();
        
    

<?php $this->placeholder('onReady')->captureEnd() ?>

function check()
{
    var error=false
    $("input.k_aplicado,input.precio_aplicado,input.k_facturacion,input.tarifa_plana").each(function(index, item) 
    {
        
        if(item.value==''){
            $(item).addClass('ui-state-error');
            error=true
        }
    }); 

    return error;
}


function suma()
{
    var consumo_imputado=0,imputacion=0,imputado=0,imputable=0;

    $(".consumo_imputado").each(function(index, item) {
        imputado = parseFloat( normalize( $(item).text() ) );
        if(!isNaN(imputado)) consumo_imputado += imputado
    });
    
    $(".imputacion").each(function(index, item) {
        imputable = parseFloat( normalize( $(item).text() ) );
        
        
        if(!isNaN(imputable)) imputacion += imputable
        

    });
    
    
    $('#suma_consumo_imputado').text( number_format( consumo_imputado ,0,',','.'));
    $('#suma_imputacion').text(number_format( imputacion ,0,',','.'));
    
    $('input').css('width','50px');
}



function calc_k(obj)
{
        numeric(obj)
        var key= $(obj).attr('class');
        var id=obj.id;
        var id_consumo_it=id.replace(key,"consumo_it"); 
        var id_k_calculado=id.replace(key,"k_calculado"); 
        var id_k_aplicado=id; 
        var id_consumo_imputado=id.replace(key,"consumo_imputado"); 
        var id_precio_calculado=id.replace(key,"precio_calculado"); 
        var id_precio_aplicado=id.replace(key,"precio_aplicado"); 
        var id_imputacion=id.replace(key,"imputacion"); 
        var consumo_it= normalize( $('#'+id_consumo_it).text() )
        var precio_calculado=$('#'+id_precio_calculado).text();
        var precio_aplicado=$('#'+id_precio_aplicado).val();
        var k_calculado=$('#'+id_k_calculado).text();
        var k_aplicado=obj.value;
        var precio = precio_aplicado || normalize(precio_calculado);
        var k = k_aplicado || normalize(k_calculado);
        var consumo_imputado =  number_format( consumo_it * k ,0,',','.');
        $('#'+id_consumo_imputado).text(consumo_imputado);
        var imputacion =  number_format(consumo_it * k * precio ,2,',','.');
        $('#'+id_imputacion).text(imputacion);
}

function calc_precio(obj)
{
        numeric(obj)
      
        var precio_aplicado=obj.value;
        var id=obj.id;
        
        var id_consumo_imputado=id.replace("precio_aplicado","consumo_imputado"); 
	    var id_consumo_it=id.replace("precio_aplicado","consumo_it"); 
        var id_precio_calculado=id.replace("precio_aplicado","precio_calculado"); 
        var id_k_aplicado=id.replace("precio_aplicado","k_aplicado"); 
        var id_k_calculado=id.replace("precio_aplicado","k_calculado"); 
        var id_imputacion=id.replace("precio_aplicado","imputacion"); 
        
        
        var consumo_it= normalize( $('#'+id_consumo_it).text() )
       
        var precio_calculado=$('#'+id_precio_calculado).text();

        var k_calculado=$('#'+id_k_calculado).text();
        var k_aplicado=$('#'+id_k_aplicado).val();
        
        
        var precio = precio_aplicado || normalize(precio_calculado);
        
        var k = k_aplicado || normalize(k_calculado);
        
        
        var consumo_imputado =  number_format( consumo_it * k ,0,',','.');
        $('#'+id_consumo_imputado).text(consumo_imputado);
        
        var imputacion =  number_format(consumo_it * k * precio ,2,',','.');
        $('#'+id_imputacion).text(imputacion);
}  
    


function normalize(number)
{
    var aux=number.split('.').join('');
    aux=aux.split(',').join('.');
    return aux
}


</script>

<?
if($this->earlier){
    print $this->partial('snnipet/error.phtml',array('msg'=>$this->translate('Todavía no puede imputar este mes.')));
}
if($this->yaimputado){
    $msg=$this->translate('Este mes ya ha sido imputado.<br> Por %s , el día %s',$this->user($this->imputacion['created_by']),$this->dateTo($this->imputacion['created_on'],'dd MMM yyyy'));
    
    print $this->partial('snnipet/error.phtml',array('msg'=>$msg));
    
    print '<button id="borrar_imputacion">'.$this->translate('Borrar Imputación').'</button>';
}


if($this->rows):

if($this->rows[0]['no_imputar_faltan_contadores']){
    $msg=$this->translate('Hay contadores sin lecturas, no podra imputar hasta que todos los contadores tengan lectura.');
    print $this->partial('snnipet/error.phtml',array('msg'=>$msg));
}
?>


<div id="todo_abajo">
<table id="tabla_compania">
<tr>
<td>
    <div>
    <dl>
        <dt><strong><?php echo $this->translate('Consumo IT');?></strong></dt>
        <dd><?=$this->NumEs($this->suma['consumo_it'],0)?> kWh</dd>
        <dt><strong><?php echo $this->translate('Consumo Compañia');?></strong></dt>
        <dd><?=$this->NumEs($this->rows[0]['consumo_compañia'],0)?> kWh</dd>
        <dt><strong><?php echo $this->translate('Coeficiente Repercusión Calculado (PUE)');?></strong></dt>
        <dd><?=$this->NumEs($this->rows[0]['coeficiente_repercusion_calculado'],4)?></dd>  
        <dt><strong><?php echo $this->translate('Factura Compañia');?></strong></dt>
        <dd><?=$this->NumEs($this->rows[0]['factura_compañia'],0)?> €</dd>    
        <dt><strong><?php echo $this->translate('Precio');?> kWh</strong></dt>
        <dd><?=$this->NumEs($this->rows[0]['precio_kwh_calculado'],4)?></dd> 

             
    </dl>
    </div>
</td>
<td>
    <div>
    <dl>
        <dt><strong><?php echo $this->translate('Coeficiente Repercusión Aplicado General');?></strong></dt>
        <dd><input type="text" name="k_aplicado" value=""/></dd>
        <dt><strong><?php echo $this->translate('Precio Aplicado General');?></strong></dt>
        <dd><input type="text" name="precio_aplicado" value=""/></dd>    
    </dl>
    </div>
</td>
</tr>
</table>





<form id="form_imputar">
<table id="<?= $this->id_tablesorter?>" width="100%" class="tablesorter"> 
    <?=$this->partial('snnipet/caption.phtml',array('c'=>count($this->rows)));?>
<thead>
<tr>
    <th class="filter-false"><?php echo $this->translate('Contadores / Leidos');?></th>
    <th><?php echo $this->translate('PEP');?></th>
    <th><?php echo $this->translate('Proyecto');?></th>
    <th class="filter-false"><?php echo $this->translate('kWh Consumidos');?></th>
    <th class="filter-false"><?php echo $this->translate('Coeficiente Repercusión<br /> Calculado');?></th>
    <th class="filter-false"><?php echo $this->translate('Coeficiente Repercusión<br /> Aplicado');?></th>
    <th class="filter-false"><?php echo $this->translate('kWh <br />Imputados');?></th>
    <th class="filter-false"><?php echo $this->translate('Precio<br /> Calculado €/kWh');?></th>
    <th class="filter-false"><?php echo $this->translate('Precio<br /> Aplicado €/kWh');?></th>
    <th class="filter-false"><?php echo $this->translate('Imputación €');?></th>
    <th class="filter-false" width="16%"><?php echo $this->translate('Facturación');?></th>
</tr>
</thead>
<tbody>

<?foreach($this->rows as $k => $v):?>

<tr>
    <td <?if($v['faltan']) echo 'class = "ui-state-error"'?>><?=$v['contadores']?> / <?=$v['leidos']?></td>
    <td><?=$v['pep']?></td>
    <td><?=$v['proyecto']?></td>
    <td><span id="consumo_it<?=$v['id_proyecto']?>" class="consumo_it"><?=$this->NumEs($v['consumo_it'],0)?></span></td>
    <td><span id="k_calculado<?=$v['id_proyecto']?>"><?=$this->NumEs($v['coeficiente_repercusion_calculado'],4)?></span></td>
    <td><input type="text" name="k_aplicado<?=$v['id_proyecto']?>" id="k_aplicado<?=$v['id_proyecto']?>" class="k_aplicado"/></td>
    <td><span id="consumo_imputado<?=$v['id_proyecto']?>" class="consumo_imputado"></span></td>
    <td><span id="precio_calculado<?=$v['id_proyecto']?>"><?=$this->NumEs($v['precio_kwh_calculado'],4)?></span></td>
    <td><input type="text" name="precio_aplicado<?=$v['id_proyecto']?>" id="precio_aplicado<?=$v['id_proyecto']?>"  class="precio_aplicado"/></td>
    <td><span id="imputacion<?=$v['id_proyecto']?>" class="imputacion"></span></td>
    <td><?=$v['text_tipo_facturacion']?></td>
</tr>

<?endforeach?>
</tbody>
    <tfoot>
        <tr>
            <th><?=$this->NumEs($this->suma['contadores'],0)?> / <?=$this->NumEs($this->suma['leidos'],0)?></th>
            <th></th>
            <th></th>
            <th><?php echo $this->numES($this->suma['consumo_it'],0);?> kWh</th>
            <th></th>
            <th></th>
            <th><span id="suma_consumo_imputado"></span></th>
            <th></th>
            <th></th>
            <th><span id="suma_imputacion"></span></th>
            <th></th>
            <th></th>
        </tr>
    </tfoot>
</table>
</form>
</div>
<?if($this->suma['contadores']!=$this->suma['leidos']){
    $msg=$this->translate('Hay contadores sin lecturas, no podra imputar hasta que todos los contadores tengan lectura.');
    print $this->partial('snnipet/error.phtml',array('msg'=>$msg));

}else{
    print '<div style="height:50px;width: 200px;margin: 0 auto">
    <button id="imputar">'.$this->translate('Siguiente -> Imputar').'</button>
    <br><span id="enviando">'.$this->translate('Procesando...').'</span>
    </div>';
}?>
    

<?endif?>



